﻿Imports Castle.ActiveRecord

Namespace Model
    <Serializable(), ActiveRecord("tr_icms_modalidade", DynamicUpdate:=True)> _
    Public Class Tr_ICMS_Modalidade
        Inherits ActiveRecordBase(Of Model.Tr_ICMS_Modalidade)

        Private _cd_tr_icms_mod As Integer
        Private _tr_icms_mod_num As String
        Private _tr_icms_mod_nome As String

        Private _ProdutosICMS As IList(Of Model.Produto) = New List(Of Model.Produto)
        Private _ProdutosICMSST As IList(Of Model.Produto) = New List(Of Model.Produto)

        Private _ItemICMS As IList(Of Model.Nfitem) = New List(Of Model.Nfitem)
        Private _itemICMSST As IList(Of Model.Nfitem) = New List(Of Model.Nfitem)

        <PrimaryKey(PrimaryKeyType.Sequence, SequenceName:="tr_icms_modalidade_cd_tr_icms_mod_seq")> _
        Public Property cd_tr_icms_mod() As Integer
            Get
                Return _cd_tr_icms_mod
            End Get
            Set(ByVal value As Integer)
                _cd_tr_icms_mod = value
            End Set
        End Property

        <[Property]("tr_icms_mod_num")> _
        Public Property tr_icms_mod_num() As String
            Get
                Return _tr_icms_mod_num
            End Get
            Set(ByVal value As String)
                _tr_icms_mod_num = value
            End Set
        End Property

        <[Property]("tr_icms_mod_nome")> _
        Public Property tr_icms_mod_nome() As String
            Get
                Return _tr_icms_mod_nome
            End Get
            Set(ByVal value As String)
                _tr_icms_mod_nome = value
            End Set
        End Property

        <HasMany(GetType(Model.Produto), Table:="produto", ColumnKey:="cd_tr_icms_mod_icms", Inverse:=True, Lazy:=True)> _
        Public Property ProdutosICMS() As IList(Of Model.Produto)
            Get
                Return _ProdutosICMS
            End Get
            Set(ByVal value As IList(Of Model.Produto))
                _ProdutosICMS = value
            End Set
        End Property

        <HasMany(GetType(Model.Produto), Table:="produto", ColumnKey:="cd_tr_icms_mod_icmsst", Inverse:=True, Lazy:=True)> _
        Public Property ProdutosICMSST() As IList(Of Model.Produto)
            Get
                Return _ProdutosICMSST
            End Get
            Set(ByVal value As IList(Of Model.Produto))
                _ProdutosICMSST = value
            End Set
        End Property

        <HasMany(GetType(Model.Nfitem), Table:="nfitem", ColumnKey:="cd_tr_icms_mod_icms", Inverse:=True, Lazy:=True)> _
        Public Property ItemICMS() As IList(Of Model.Nfitem)
            Get
                Return _ItemICMS
            End Get
            Set(ByVal value As IList(Of Model.Nfitem))
                _ItemICMS = value
            End Set
        End Property

        <HasMany(GetType(Model.Nfitem), Table:="nfitem", ColumnKey:="cd_tr_icms_mod_icmsst", Inverse:=True, Lazy:=True)> _
        Public Property ItemICMSST() As IList(Of Model.Nfitem)
            Get
                Return _itemICMSST
            End Get
            Set(ByVal value As IList(Of Model.Nfitem))
                _itemICMSST = value
            End Set
        End Property
    End Class
End Namespace